1. Field of the Invention
This invention relates to information technology (IT), and more particularly, to a digital data transmission error checking method and system which is designed for use in conjunction with a data source unit (such as a network server) and a data reception unit (such as a network workstation) for providing an error checking function that allows the data reception unit to check whether a stream of digital data received from the data source unit has been subjected to transmission error.
2. Description of Related Art
Checksum is an error checking method that is widely utilized in computer and communications systems for checking whether errors occur in a stream of digital data (such as a file or a packet) during transmission from a data source unit to a data reception unit. If errors are found in the received data stream, the data reception unit will return a retransmission request message to the data source unit to request the data source unit to retransmit the data stream.
Presently, there are many varieties of checksum methods that have been developed in computer science. The most fundamental checksum method is simply to sum up all the values of data units (such as bytes, 16-bit words, or 32-bit words) in the data stream to obtain a transmission side checksum value, and then transmit the data stream together with the transmission side checksum value to the data reception unit. Subsequently, at the data reception unit, the same checksum algorithm is applied to the received data stream to obtain a reception side checksum value. Theoretically, if no errors occur during transmission, the reception side checksum value will be exactly equal to the transmission side checksum value; otherwise, if errors have occurred during transmission, the reception side checksum value would be unequal to the transmission side checksum value. Therefore, by comparing the reception side checksum value against the transmission side checksum value, the reception side is able to determine whether the received data stream is correct or not.
One drawback to the above-mentioned checksum method, however, is that it might become ineffective to determine transmission errors in some certain cases. For instance, for a data stream having 3 bytes {[12][23[[45]} which have been mistakenly disordered into {[23][12[[45]} during transmission, then in this case, the transmission side will obtain a checksum value of 12+23+45=7A (hexadecimal values), and the reception side will obtain a checksum value of 23+12+45=7A. Since the reception side checksum value 7A is exactly equal to the transmission side checksum value 7A, it will cause the reception side to wrongly determine that the received data stream is correct. There exists therefore a need in the information industry for a solution to this problem.